﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TweetRating
{
    public class PeriodoDeTiempo
    {
        public string nombre { get; private set; }
        private TimeSpan timeSpan;

        public static PeriodoDeTiempo diario = new PeriodoDeTiempo("Diario", new TimeSpan(1, 0, 0, 0));
        public static PeriodoDeTiempo semanal = new PeriodoDeTiempo("Semanal", new TimeSpan(7, 0, 0, 0));
        public static PeriodoDeTiempo mensual = new PeriodoDeTiempo("Mensual", new TimeSpan(30, 0, 0, 0));
        public static PeriodoDeTiempo anual = new PeriodoDeTiempo("Anual", new TimeSpan(365, 0, 0, 0));

        #region Constructur
        private PeriodoDeTiempo(string elNombre, TimeSpan elTimeSpan)
        {
            this.nombre = elNombre;
            this.timeSpan = elTimeSpan;
        }
        #endregion

        #region Metodos
        public DateTime fechaDesde()
        {
            return DateTime.Now.Subtract(this.timeSpan);
        }
        public DateTime fechaHasta()
        {
            return DateTime.Now;
        }
        #endregion

        #region Overrides
        public override string ToString()
        {
            return nombre;
        }
        #endregion
    }
}
